home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
tools.exe
/
DOCS
/
SLOAD.DOC
< prev
next >
Wrap
Text File
|
1991-07-19
|
12KB
|
397 lines
Instructions for MS-DOS program "SLOAD"
*****************************************************************
NOTICE
Hewlett-Packard is making version 1.56 of SLOAD.EXE available to
customers free of charge to help them in HP 48SX application
development, under the following conditions:
* The program SLOAD.EXE and the documentation file SLOAD.MAN are
provided "as is," and are subject to change without notice.
Hewlett-Packard Company make no warranty of any kind with
regard to the software or documentation, including, but not
limited to, the implied warranties of merchantability and
fitness for a particular purpose. Hewlett-Packard Company
shall not be liable for any error or for incidental or
consequential damages in connection with the furnishing,
performance, or use of this software and documentation.
* The program and documentation are copyrighted by Hewlett-
Packard. Customers may freely reproduce and distribute this
material. Sale of this material is prohibited without prior
written permission of Hewlett-Packard Company.
* The HP Customer Support department does not support SLOAD.
Questions, comments, defect reports, etc. should be directed to
the Library Development conference on the HP Calculator
Bulletin Board System. All responses from Hewlett-Packard will
normally be provided through that conference.
* Software generated by SLOAD.EXE should be tested and qualified
in its final form.
Revised versions of the software and documentation will be posted
on the Bulletin Board as they become available.
-1-
1. SLOAD - Saturn Linker
SLOAD combines several object files into a single object file. It
resolves all references that it knows how to before outputing the
file. It uses a command file to decide which files to link, what
order, at what address and allows many options for cross-reference
tables and other forms of listings.
The Saturn Linker/Loader is invoked as follows:
sload [ - options <parameters> ] <command-file>
SLOAD recognizes the following options:
-D <symb>[=<addr>]
Defines <symb> to be a value (default=1). For example,
-D~Fred=1000 would set the value for the symbol Fred to
1000 decimal.
-H Forces SLOAD to code only, with no symbols or references.
-f Allows setting of conditional load flags (only the first
two letters of each flag are significant).
-l A listing file is specified. If this option is not used,
then stdout will be the listing file.
-m -M Specifies a file other than stdout for messages (not the
listing file).
-o <outfile>
Write the object file to <outfile>.
-p <pagelength>
Specifies the pagelength for the listing file (default
60).
-w <pagewidth>
Specifies the pagewidth for the listing file (default 80).
SLOAD accepts two letter commands from the input file. All
characters following the first two are ignored. Certain commands
require parameters. An asterisk may be used in place of a hex
address to mean the address of the next available location.
Parameters may be separated by either a comma or a space. The
HElp command provides a list of commands and their parameters.
The following are the recognized commands and a description of
their function. The commands may be entered in upper or lower
case.
-2-
ABort Aborts the Saturn Loader. No files are modified.
BOundary <Hex addr> Allows the user to specify a boundary for
locating start of next module. The next module will start
at an address which is a multiple to the specified
address. Note that address 0 is a multiple of any number.
CHecksum <Symbol name> <Hex addr> <Hex addr>
Specifies that a one byte checksum value should be
computed between the specified addresses and filled in at
the location of the specified symbol.
CRc <Hex addr> <Hex num> <Hex num> <Hex num>
Specifies that a 4 nibble CRC value should be computed
according to the specified values and patched in at an
address determined from these values. The first parameter
specifies where to start the CRC computation, the second
parameter specifies the offset between reads, the third
specifies the number of reads per half-sector and the last
parameter specifies the number of sectors. See
appropriate ROM documentation for more information on CRC
computation.
DEfine <Symbol name> <Hex addr>
Allows the user to define a symbol that is otherwise
unresolved.
ENd [ <End Option> ]
Terminates command entry mode. End option may be either
of:
NOresolverefs Don't resolve external references.
REsolverefs Resolve external references.
If no option is specified the default is RE. References
will be resolved if not suppressed by NOresolve option.
SLOAD will then provide listings and output modules as
specified in command mode.
FLag <Flag name> Set flag name specified.
FOrce Sets a flag that will allow user to force SLOAD to perform
certain commands that would normally cause errors. Use
carefully.
HElp Provides a list of commands as well as certain information
about the limits of current revision of the program.
-3-
IF <NOt>* <Flag name> <Command line>
May precede any command line (including another IF
command). NOt's complement value test. If test is true
then command line is executed as if no IF statement was
there. If test is false, then the rest of the line if
ignored.
LIst <List option list>
Specifies one or more items to list as load is completed.
List items may be turned on and off at any time during
command mode with the final settings prevailing. (See
SUppress command). Default list items are SUmmary,
UNresolved and XRef. Any of the following are accepted:
ALl List everything.
COde List hex dump of output module.
ENtries List entry points.
LXref List long cross-reference.
REferences List long cross-reference by module.
SUmmary List a summary of modules.
UNresolvedRefs List all unresolved references.
XRef List short cross-reference.
LLu <File spec>
Change listing device. May list to a file or a device.
LOcate <Hex addr>
Specifies the address at which to locate the next module.
This may be used to overlap modules if desired.
NExt Displays address where next nibble of code would be loaded
if RElocate command is used.
OPtion <Option list> Specifies type of module to output:
COde Output code (no symbols or references).
SYmbols Output symbol definitions only (no code or
references).
RElocatable (Default) Output code symbols and
references.
-4-
OUtput <File spec>
Specify name of file to output.
PAtch <Hex addr> <Hex nibble>*
Patch code at address specified to have the value
specified by the string of hex nibbles. Zero or more hex
nibbles may be specified. SLOAD displays sixteen nibbles
starting at the address specified, hence PAtch may be used
to examine memory. Note that external references are
filled in following exit of command mode an may thus write
over any patchs made. ENd NOresolverefs may be used to
prevent this.
RAnge <Symbol name> <Hex addr> <Hex addr>
Check whether symbol specified is in the range specified
and reports an error if it is not.
RElocate <File spec>
Specify name of file to relocate. If no BOundary or
LOcate command has been specified then the module is put
at the first available nibble. (See NExt command)
SEarch <File spec>
Same as relocate except only symbol definitions are
accepted. No references or code are read in.
SOftkey <File spec>
Allow user to specify a softkey file to be read in when
output module is read into software or hardware simulator.
(This feature is not currently implemented by simulator.)
STart <Hex addr>
May be used before any code is read in. Specifies
starting address of output file. If not specified the
start address will be 00000. Note that output module will
have a length of the highest address minus this starting
address (minus one).
SUppress <List Option list>
Similar to LIst command but suppresses list items.
TItle Allows the user to specify a title for the output module.
TRansfer <File spec>
Changes the device used for command input.
UDefine <Symbol name>*
Causes the specified symbol(s) to be undefined. This has
no effect on references to the symbol. No error is given
if the symbol doesn't previously exist.
-5-
UNresolved <Symbol name>
Allows the user to specify a symbol whose value is used to
fill in all references which are otherwise unresolved.
ZEro <Hex addr> <Hex addr>
Sets code nibbles to zero from first address to second
address. Memory is not automatically zeroed when SLOAD
starts and thus has an undefined pattern.
** <Comment>
Comment line. Characters after ** are ignored.
-6-